<html>
    <body>
        <button onclick="test3()">点名</button>
        <p id="demo3"></p>
        <button onclick="test5()">随机数</button>
        <p id="demo5"></p>
        <p id="demo5.2"></p>
        <button onclick="test6()">增加30%</button>
        <p id="demo6"></p>
        <input id="input" />  
        <input type="button" id="code" onclick="test41()">
        <button onclick="test42()">验证</button>
        <br/>
    </body>
</html>
<script>
    //1.通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数，然后输出该数组的左下半三角
    var a = [[],[],[],[],[]];
        for(var i=0; i<25; i++){
            a[parseInt(i/5)].push(i+1);//parseInt解析字符串；push把指定的值添加到数组后的新长度
        }
        console.log(a);//在控制台显示a
    for(var i=0; i<a.length; i++){
        for(var j=0; j<i+1; j++){
            document.write(a[i][j] + "\t");
        }
        document.write("<br>");
    }
    //2.定义一个含有30个整型元素的数组，按顺序分别赋予从2开始的偶数；然后按顺序每五个数求出一个平均值，放在另一个数组中并输出
    var elist = [];
    for(var i=2; i<=100000; i+=2){
        if(elist.push(i) == 30) break;
    }
    var newlist = [];
    var count = 0;
    var sum = 0;
    for(var i=0;i<elist.length;i++){
        sum += elist[i];
        if( ++count == 5){
            newlist.push(sum/5);
            count = sum = 0;
        }
    }
    console.log(newlist);
    //3.随机点名程序
    /*
    var name=["小一","小二","小三","小四","小五","小六"];
    document.write(name[Math.floor(Math.random()*name.length)]);
    */
    function test3(){
        switch (Math.floor(Math.random()*5)){
            case 0:
                document.getElementById("demo3").innerHTML="小一";
            break;
            case 1:
                document.getElementById("demo3").innerHTML="小二";
            break;
            case 2:
                document.getElementById("demo3").innerHTML="小三";
            break;
            case 3:
                document.getElementById("demo3").innerHTML="小四";
            break;
            case 4:
                document.getElementById("demo3").innerHTML="小五";
            break;
            case 5:
                document.getElementById("demo3").innerHTML="小六";
            break;
        }
    }
    //4.数字字母验证码
    var code;
    function test41(){
        code = '';
        var cl = 5;
        var nCode = document.getElementById('code');
        var rList = new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R', 'S','T','U','V','W','X','Y','Z');
        for(var i=0;i<cl;i++){
             var random = Math.floor(Math.random()*36);
             code+=rList[random]; 
        }
        nCode.value=code;
    }
    function test42(){
        var nValue=document.getElementById('input').value.toUpperCase();
        if(nValue==0){
            alert('请输入验证码');
        }else if(nValue != code){
            alert('验证码不正确，请重新输入');
            nValue='';
            test41();
        }else{
            window.open('#','_blank');
        }
    }
    window.onload=function(){
        test41();
    }
    //5.随机生成一个五位以内的数，然后输出该数共有多少位，每位分别是什么
    function test5(){
        var rn=""+parseInt(Math.random()*10001);
        document.getElementById("demo5").innerHTML="随机数"+rn;
        for(var i=0;i<rn.length;i++){
            console.log(Number(i)+1+"位是"+rn[i]+"<br>");
        }
    }
    //6.编写函数map(arr) 把数组中的每一位数字都增加30%
    function test6(){
        for(var i=0;i<list.length;i++){
            list[i]+=list[i]*0.3;
            console.log(list[i]);
        }
        
    }
    //7.编写函数has(arr , 60) 判断数组中是否存在60这个元素，返回布尔类型
    
    //8.编写函数norepeat(arr) 将数组的重复元素去掉，并返回新的数组
    //var list = [13,14,15,13,15,20,80,0.1];
    var list = new list(13,14,15,13,15,20,80,0.1);
    var newlist = [];  
    for(var i =0;i<list.length-1;i++){
        if(newlist.indexOf(list[i]) == -1){//indexOf返回某个指定的字符串值在字符串中首次出现的位置
            newlist.push(list[i]);//push方法可向数组的末尾添加一个或多个元素，并返回新的长度
        }  
    }
    console.log(newlist);
</script>